Many modern businesses and organizations rely heavily on information technology (IT) to provide computer-based tools and services to enable them and their customers to operate efficiently. The tools and services are typically provided by a multitude of different software applications which typically run on numerous computer servers. For reasons of efficiency, many of these computer servers are increasingly being consolidated in specialized facilities such as data centers.
Software applications may be conveniently arranged to run in a virtualized environment through use of software virtualization applications, such as virtual machines. In this way, a single computer server may effectively concurrently run multiple computer operating systems instances (or virtual images) and concurrently run different applications on each, of the virtual images.
However, due to the typical abundance of computing power available in data centers, little regard has generally been paid to the manner in which software applications and software virtualization applications are distributed over different computer servers.